#ifndef _BOARD_H_
#define _BOARD_H_

#include "hard_wire.h"
#include "polsys.h"

#define FBRH        10
#define FBRL        1
#define FULL_ADV    ADC_FULL_VALUE
#define ADC_VREF    ADC_FULL_VOLTAGE

#define Board_BtnIsDown()       (!BUTTON_PIN)


void Board_Init();

// 预升压电路的ADC初始化
void Board_PrvBstInitAdc();

// 预升压电路的PWM初始化
void Board_PrvBstInitPwm();

// 预升压电路的ADC开始定时运行
void Board_PrvBstRunAdc();

// 预升压电路的ADC停止定时运行
void Board_PrvBstStopAdc();

// 预升压电路的设置PWM值函数
// 注意：设置为0时要求立即刹车
void Board_PrvBstSetPwm(u8 new_pwm);

#define Board_PrvBstGetAdv(voltage) (u16)(((u32)voltage*FBRL*FULL_ADV)/((u32)(FBRH + FBRL)*ADC_VREF))

// 主升压电路的ADC初始化
void Board_MainBstInitAdc();

// 主升压电路的PWM初始化
void Board_MainBstInitPwm();

// 主升压电路的ADC开始定时运行
void Board_MainBstRunAdc();

// 主升压电路的ADC停止定时运行
void Board_MainBstStopAdc();

// 主升压电路的设置PWM值函数
// 注意：设置为0时要求立即刹车
void Board_MainBstSetPwm(u8 new_pwm);

#define Board_MainBstGetAdv(voltage)    Board_PrvBstGetAdv(voltage)

#endif



